<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <div id="app">
        <div :style='{fontSize:fontSize + "px"}'>{{msg}}</div>
        <!-- 第二步：在父组件的模板中进行事件的监听 -->
        <!-- 第五步：在父组件中通过$event接收$emit第二个参数 -->
        <big-font @enlarge-text='handle($event)'></big-font>
    </div>
    <!-- 子组件的模板写在父组件的根目录下 -->
    <script src="../vue.js"></script>
    <script>
        Vue.component('big-font', {
            // 第一步：绑定一个点击事件="$emit('自定义名称')" 第四步：子组件传值给父组件可以通过$emit第二个参数传值
            template: `
                <div>
                    <button @click='$emit("enlarge-text",10)'>点击变大</button>
                </div>
            `
        })
        var vm = new Vue({
            el: '#app',
            data: {
                msg: '父组件的内容',
                fontSize: 3
            },
            // 第三步：在父组件中定义一个函数
            methods: {
                // 第六步：形参val接收
                handle: function(val) {
                    this.fontSize += val
                }
            }
        })
    </script>
</body>

</html>